package com.chuxing.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chuxing.domain.DTO.TGroupMembersListDTO;
import com.chuxing.domain.TGroupMembers;
import com.github.pagehelper.Page;

import java.util.List;

/**
 * 小组成员Mapper接口
 * 
 * @author 刘祺
 * @date 2025-01-11
 */
public interface TGroupMembersMapper  extends BaseMapper<TGroupMembers>
{
    /**
     * 查询小组成员
     * 
     * @param GroupMemberID 小组成员主键
     * @return 小组成员
     */
    public TGroupMembers selectTGroupmembersByGroupMemberID(Long GroupMemberID);

    /**
     * 查询小组成员列表
     * 
     * @param tGroupmembers 小组成员
     * @return 小组成员集合
     */
    public Page<TGroupMembers> selectTGroupmembersList(TGroupMembersListDTO tGroupmembers);

    /**
     * 新增小组成员
     * 
     * @param tGroupmembers 小组成员
     * @return 结果
     */
    public int insertTGroupmembers(TGroupMembers tGroupmembers);

    /**
     * 修改小组成员
     * 
     * @param tGroupmembers 小组成员
     * @return 结果
     */
    public int updateTGroupmembers(TGroupMembers tGroupmembers);

    /**
     * 删除小组成员
     * 
     * @param GroupMemberID 小组成员主键
     * @return 结果
     */
    public int deleteTGroupmembersByGroupMemberID(Long GroupMemberID);

    /**
     * 批量删除小组成员
     * 
     * @param GroupMemberIDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTGroupmembersByGroupMemberIDs(Long[] GroupMemberIDs);

    int countByGroupID(Long groupID);

    void updateRoleInGroupBystudentID(String studentID, Long groupID, String roleInGroup);

    List<TGroupMembers> selectTGroupIDByStudentId(String studentID);

    Long countByStudentAndClass(String studentID, Long classID);
}
